본문 바로가기

안녕하세요!

프로그래밍 언어/CAP

[ CAP ] Node.js - Facade Pattern - @sap/cds Facade Pattern Facade 패턴은 low level Interface들을 하나의 high level Interface로 통합시켜 주는 패턴이다. 클라이언트 객체가 여러 low level의 Interface 동작을 통제하고자 한다면, 여러 개의 low level의 Interface 메서드들을 하나 하나 호출해야 하는데, Facade 패턴을 사용하게 되면 high level의 Interface 메서드 호출만으로한 번에 할 수 있게 된다. 따라서 Facade 패턴에서는 high level의 Interface를 low level의 Interface로부터 통합하여 'Unified Interface'라고 부른다. @sap/cds SAP에서는 '@sap/cds'를 사용하면 여러 가지 메서드들의 재사용을 .. 더보기
[ CAP ] Class cds.Service - Handler Registration API(1) Class cds.Service Handler Registration API srv.on(event, path?, handler) → this srv.on로 등록되어 있는 Handlers는 순서대로 실행되며, 각 Handler는 srv.prepend를 함께 등록하여 사용자 지정대로 순서를 끝내는 기능을 사용할 수 있다. 만약, 일반적인 Handler 기능을 사용하기 위해서는 사용자정의 Handler에서 next를 호출하면 된다. event 단일 event의 이름또는 이러한 여러 evnet의 배열 path entity CSN 개체, 노출된 entity 이름, 경로 또는 여러 항목의 배열 handler handler 함수 // Direct request | GET /Products srv.on('READ',.. 더보기
[ CAP ] Views and Projections Views and Projections The as select from Variant entity Bbao1 as SELECT from Doe; entity Bbao2 as SELECT from Employees { * }; entity Bbao3 as SELECT from Employees LEFT JOIN Doe on Employees.ID = Doe.ID { bbao, doe as doebbao, sum(coding) as diary } where exists ( SELECT 1 as anyXY from SomeOtheEntity as soe where soe.x = y ) group by bbao, doe order by diary asc; as select from을 사용함으로써 관계형 데이터.. 더보기
[ CAP ] Temporal Database Temporal Database Temporal Database는 시간 관련 Instance Data, 즉 과거, 현재, 미래와 관련된 Data 정보를 저장한다. Valid Time(유효 시간)은 현실에서 어떠한 사실이 True인 기간이다. Trasaction Time(처리 시간)은 Database에 저장된 사실이 알려진 기간이다. Decision Time(결정 시간)은 Database에 저장된 어떠한 사실이 유효하다고 판단되는 기간이다. Uni-Temporal(단일 시간) Uni-Temporal Database에는 유효 범위 또는 시스템 시간 범위 중 하나의 시간 축이 있다. Bi-Temporal(이중 시간) Bi-Temporal Database에는 두 개의 시간 축이 존재한다. 특징 Temporal .. 더보기
[ CAP ] What is the 'CSV'? CSV(Comma Separated Values) CSV 개념 CSV란, 표 형태의 데이터를 저장하는 파일 형식이다. 하나의 CSV 파일은 하나의 독립된 2차원 데이터를 나타낸다. 각 줄은 하나의 행(row)에 해당하고, 각 열(column) 사이에는 쉼표(,)를 넣어 구분하며, 이때 모든 행은 같은 개수의 열을가져야 한다. 줄 바꿈 문자라는 라인 피드(Lf) 또는 캐리지 리턴-라인 피드(CRLF)를 사용한다. CSV 예시 이름 생년 월 일 국어 점수 영어점수 수학 점수 Java 2001 2 1 99 88 77 Node 2003 8 17 100 90 80 이름,생년,월,일,국어 점수,영어 점수,수학 점수 Java,2001,2,1,99,88,77 Node,2003,8,17,100,90,80 표에 나와 있는.. 더보기
[ CAP ] What is the '@sap/cds/common'? @sap/cds/common Why use it? @sap/cds/common을 쓰는 이유는 간결하고 이해하기 쉬운 모델로서 작용하기 때문이다. 뿐만 아니라, 모든 Application 간의 상호 운용성을 촉진하며, 실제 Application에서 입증되기도 하였고, 이는 진입 장벽이 최소화/간소화된 데이터 모델이기에 가능하다. 또한 최적화된 구면 및 런타임 성능을 지녔으며, 현지화된 코드 목록과 값에 대한 도움말을 자동으로 지원해준다. Aspect를 사용함으로써 활용도를 확장시키기도 한다. Common Reuse Aspects cuid entity Foo : cuid {...} entity Foo { key ID : UUID; ... } cuid를 사용하게 되면 UUID로 지정해둔 key ID가 자동으로.. 더보기
[ CAP ] What is the 'Associations'? Associations Unmanaged Associations entity Employees { address : Association to Addresses on address.ID = address_ID; address_ID : Integer; //> foreign key } entity Addresses { key ID : Integer; } entity Addresses에 있는 key ID를 Integer로 설정한다. Employees의 address에 entity Addresses의 ID와 연결하여, 즉 각 entity 간에 JOIN을 수행할 수 있도록 address_ID라는 address의 별칭을 지정해 참조할 수 있도록 한다. address_ID는 Integer로 선언한다. Managed(.. 더보기

300x250
반응형
loading